Configurer l'optimisation guidée par le profil dans Visual Studio |
您所在的位置:网站首页 › llvm document › Configurer l'optimisation guidée par le profil dans Visual Studio |
L'optimisation guidée par le profil a été introduite dans la version 22.2.71 d'AGDE. Localiser les paramètres PGOOuvrez les paramètres de votre projet à partir de l'explorateur de solutions. Figure 1 : Fenêtre de l'explorateur de solutions Visual Studio Assurez-vous que votre plate-forme est définie sur une configuration Android (par exemple, Android-arm64-v8a). Dans le panneau de gauche, sélectionnez Configuration Properties > General (Propriétés de configuration > Général). Recherchez le groupe de propriétés nommé PGO. Figure 2 : Boîte de dialogue "Project Properties" (Propriétés du projet) Remarque : Si ces options (ou les types de plates-formes Android) sont manquantes, vous devez configurer votre projet pour l'utiliser avec AGDE. Activer les builds instrumentés avec PGO dans le projetAjoutez une configuration appelée Instrumented (Instrumentée) à votre projet. Celle-ci se base sur la configuration que vous utilisez pour le test, qui devrait être votre build optimisé traditionnel. Vous pouvez toujours activer des fonctionnalités de débogage supplémentaires tant que vous conservez les paramètres d'optimisation du compilateur. Dans la boîte de dialogue "Property" (Propriété), cliquez sur Configuration Manager (Gestionnaire de configuration). Figure 3 : Boîte de dialogue "Configuration Manager" (Gestionnaire de configuration) Dans la boîte de dialogue "Configuration Manager" (Gestionnaire de configuration), sélectionnez la liste déroulante Active solution configuration (Configuration de la solution active), puis sélectionnez (Nouveau). Figure 4 : Création d'une configuration de compilation ... et création d'une configuration instrumentée avec PGO Figure 5 : Boîte de dialogue "New Solution Configuration" (Nouvelle configuration de la solution) Pour activer la création en mode instrumentation PGO afin de générer un profil pour votre jeu, sélectionnez Instrumented (Instrumentée) dans la liste des options pour le paramètre Profile-Guided Optimization Mode (Mode d'optimisation guidée par le profil). Figure 6 : Boîte de dialogue "Project Properties" (Propriétés du projet) mettant en évidence les paramètres PGO Pour le paramètre Profile Guided Optimization Profiles (Profils d'optimisation guidée par le profil), saisissez le chemin d'accès au dossier dans lequel enregistrer le fichier de données de profil de sortie brut sur votre appareil Android. Cette valeur doit généralement se présenter sous la forme /data/data//cache/, où est le nom complet du package de l'APK (par exemple, com.google.sample.tunnel). Pour en savoir plus sur son fonctionnement, consultez la documentation Clang. Écrire des données de profil instrumentées avec PGO sur votre appareilLes données PGO sont généralement écrites sur l'appareil par le système d'instrumentation PGO lorsqu'un processus se ferme. Sur Android, les applications ne se ferment pas. Elles doivent être arrêtées. Autrement dit, la fonctionnalité par défaut d'écriture sur le disque ne se déclenche jamais, ce qui nécessite que votre application écrive manuellement les données PGO. Votre application doit appeler explicitement __llvm_profile_write_file pour écrire les données de profil. Ce symbole n'est disponible que lors de la compilation d'un build instrumenté avec PGO. Pour faciliter cette opération, nous vous recommandons d'utiliser le modèle suivant lorsque vous déclarez __llvm_profile_write_file. #ifdef PGO_INSTRUMENT extern "C" int __llvm_profile_write_file(void); #else extern "C" int __llvm_profile_write_file(void) { return 0; } #endifL'appel de cette fonction écrit les données de profil dans le dossier que vous avez spécifié précédemment. Générer le profilPour générer le profil, exécutez le fichier APK créé avec l'instrumentation PGO sur l'appareil cible. Une fois que vous aurez expérimenté le code et que vous avez déclenché l'appel de la fonction __llvm_profile_write_file, votre application écrira les données de profil dans l'espace de stockage. À ce stade, copiez les profils hors de l'appareil pour que le compilateur puisse les utiliser. Préparer les données de profil à utiliser par le compilateurLorsqu'il est utilisé de manière isolée, l'outil de ligne de commande llvm-profdata fourni avec Clang/LLVM dans le kit NDK Android permet de préparer les fichiers de données de profil à utiliser par le compilateur lors de l'optimisation d'un build guidée par le profil. AGDE effectue cette étape automatiquement en fusionnant tous les fichiers de données de profil que vous avez ajoutés à votre projet et en les consommant lorsque le paramètre Profile-Guided Optimization Mode (Mode d'optimisation guidée par le profil) est défini sur Optimized (Optimisé) sur les pages de propriétés du projet. Compiler un projet lorsque l'optimisation guidée par le profil est activéeMaintenant que vous avez capturé votre profil et que vous l'avez ajouté à votre projet, le compilateur peut utiliser ces données pour affiner l'optimisation de votre build. Créez une configuration de projet pour votre build optimisé avec PGO afin de n'effectuer la compilation dans ce mode que lorsque cela est nécessaire. Figure 7 : Création d'une configuration de compilation optimisée avec PGO Dans les pages de propriétés du projet, définissez le paramètre Profile-Guided Optimization Mode (Mode d'optimisation guidée par le profil) sur Optimized (Optimisé). Figure 8 : Définition du mode d'optimisation PGO sur "Optimized" (Optimisé) Copiez les fichiers de l'appareil et ajoutez-les à votre projet dans l'explorateur de solutions. Ces fichiers de données de profil seront récupérés par le compilateur la prochaine fois que vous créerez votre configuration optimisée avec PGO, et seront utilisés pour ajuster la manière dont le compilateur optimise votre code. Vous pouvez copier les fichiers de données de profil dans votre projet à partir de l'appareil à l'aide d'ADB ou à l'aide de l'explorateur de fichiers de l'appareil Android. Figure 9 : L'explorateur de fichiers de l'appareil Android se trouve dans le menu "Tools" (Outils) Utiliser l'optimisation guidée par le profil en dehors d'AGDESi vous utilisez un système de compilation non compatible avec AGDE, vous devrez peut-être modifier votre build directement. La documentation de Clang couvre les modifications nécessaires (-fprofile-instrumented-generate et -fprofile-instrumented-use). Si vous utilisez un moteur de middleware pour votre jeu, consultez la documentation correspondant à ce moteur pour déterminer comment activer la fonctionnalité PGO (le cas échéant). |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |